<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function Person1(name,age){
            this.name = name;
            this.age = age;
            
        }

        Person1.prototype.eat = function(){
            console.log(this.name + '正在吃');
        }

        // 本来是一起的 不得不分开 

        // 为了让他们不分开 es6语法可以解决 

        // class 类名{构造器constructor(){},原型上的方法}
        // 构造器 等同于es5 构造函数里边专门写属性  
        // 也就说  属性写在构造器中 

        // 原型上的方法 等同于写在prototype上的方法  

        class Person{
            constructor(name,age){
                this.name = name;
                this.age = age;
            }

            eat(){
                console.log(this.name+'正在吃');
            }
        }


        // 实例化对象
        const s1 = new Person('张三',18);
        const s2 = new Person('李四',28);
        console.log(s1);
        console.log(s1.name);
        s1.eat()

        console.log(s2);
        console.log(s2.age);
        s2.eat()



    </script>
</body>
</html>